class Solution(object):
    def satisfiesConditions(self, grid):
        """
        给你一个大小为 m x n 的二维矩阵 grid 。你需要判断每一个格子 grid[i][j] 是否满足：

        如果它下面的格子存在，那么它需要等于它下面的格子，也就是 grid[i][j] == grid[i + 1][j] 。
        如果它右边的格子存在，那么它需要不等于它右边的格子，也就是 grid[i][j] != grid[i][j + 1] 。
        如果 所有 格子都满足以上条件，那么返回 true ，否则返回 false 。
        :type grid: List[List[int]]
        :rtype: bool
        EZ
        """
        n = len(grid)

        for i in range(n-1):
            sum_1 = 0
            sum_add = 0
            #第i个数组
            for j in range(n):
                #第i个数组的第j个数据
                sum_1 += grid[j][i]
                #第i+1个数组的第j个数据
                sum_add += grid[j][i+1]
            if sum_1 ==  sum_add or sum_1 != n*grid[i][0] or sum_add != n*grid[i][0] :
                return False
        return True

if __name__ == '__main__':
    s = Solution()
    print(s.satisfiesConditions([[1,0,2],[1,0,2]]))